package com.st.qdmall.dao;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.st.qdmall.entity.User;

/**
 * 实现对数据库中User表的操作
 * @author bobzyh
 *
 *Mapper代表这个接口是Mybatis的映射接口
 *实际上就是访问数据库的
 */
@Mapper
public interface UserDao {

	/**
	 * 根据用户名，查询用户信息
	 * 
	 * 执行SQL语句， 返回User对象
	 * 如果查询不到结果，返回null值
	 */
	@Select(" select * from user where username=#{username}")
	User selectByName(String username);

	/**
	 * 把数据保存到User表
	 */
	@Insert(" insert into user (username, password) value (#{username}, #{password})")
	int insert(String username, String password);

	/**
	 * 根据用户名和密码查询数据库
	 * @param username
	 * @param password
	 * @return
	 */
	@Select(" select * from user where username=#{username} and password=#{password}")
	User select(String username, String password);

	/**
	 * 根据ID，修改密码
	 * @param id
	 * @param newpassword
	 * @return
	 */
	@Update(" update user set password=#{newpassword} where id=#{id}")
	int update(Integer id, String newpassword);
}







